package org.tc.service;

import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * Created by zxd on 2018/1/26.
 */
public interface BaseService<T> {

    /**
     * 根据id查询
     * @param id
     * @return
     */
    public T queryById(Long id);
    /**
     * 根据指定条件查询单个
     * @param t
     * @return
     */
    public T queryByWhere(T t);

    /**
     * 根据条件查询不带分页
     * @param t
     * @return
     */
    public List<T> queryListByWhere(T t);

    /**
     * 带条件的分页
     * @param page
     * @param rows
     * @param t
     * @return
     */
    public PageInfo<T> queryPageListByWhere(Integer page,Integer rows,T t);

    /**
     * 添加
     * @param t
     */
    public void save(T t);

    /**
     * 修改
     * @param t
     */
    public void update(T t);

    /**
     * 根据id删除
     * @param id
     */
    public void deleteById(Long id);

    /**
     *  根据指定的条件批量删除
     * @param clazz
     * @param property
     * @param values
     */
    public void deleteByWhere(Class clazz,String property,List<Object> values);

}
